Description:  Rotate a one-dimensional vector x of n elements left by i positions.
              For instance, with n=8 and i=3,the vector abcdefgh is rotated to defghabc.
              Simple code uses an n-element intermediate vector to do the job in n steps.
              Can you rotate the vector in time proportional to n using only a few dozen
              extra bytes of storage?
 
Solution 1:
	 Copy first i elements of vector x into an array;
	 Move remaining n-i elements to left;
	 Copy elements in that array into last i positions of vector x.
         And this solution is space-expensive because the i extra loactions.
 
Solution 2:
	 Define a procedure to shift vector x to left by one;
	 Invoke this procedure i times.
	 And it is time-expensive.
 
Solution 3:

Solution 4:
